package 文件io;
import java.io.*;
/*
  字节数组流
  基于内存操作 ，内部维护着一个字节数组，我们可以利用流的读取机制处理字符串
  无需关闭
*/
public class 字节数组流
{
	public static void main(String[] args){
		String str="schtd444-*-//8866458XSW-74669@]'){}FVB【d】gxs【ln】";
		byteArray(str);
	}
	//实现输出字符串中所有字母
	private static void byteArray(String str){
		ByteArrayInputStream bais=new ByteArrayInputStream(str.getBytes());
		ByteArrayOutputStream baos=new ByteArrayOutputStream();
		//这里读的时候没有定义字节数组，读取时一个字节一个字节读，返回的是一个字节值，读完返回-1
		int curr=-1;//同样
		while((curr=bais.read())!=-1){
			//字母所在ascii表的位置
			if((curr>=65&&curr<=90)||(curr>=97&&curr<=112)){
				baos.write(curr);
			}
		}
		//这里不用关闭，因为字节数组流时在内存中进行操作的
		System.out.println(baos.toString());
	}
}
